/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package src;

import java.util.HashMap;
import java.util.Set;
import java.io.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class Remover extends HttpServlet{
    
    public void doGet(HttpServletRequest request, HttpServletResponse response){
        processar(request,response);
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response){
        processar(request,response);
    }

    private void processar(HttpServletRequest request, HttpServletResponse response) {
       
        try{
			PrintWriter saida = response.getWriter();
			HttpSession session = request.getSession();
			listaUsuarios listaObj = (listaUsuarios)session.getAttribute("listaObj");
			HashMap<String, Usuario> listaUser = listaObj.getListaUsuarios();
			Usuario user = (Usuario)session.getAttribute("userAtual");
			String url = null;
			
			String categoria = (String) request.getParameter("remover");
			if(categoria.equals("formacao")){
				String chave = request.getParameter("chave");
				HashMap<String, Formacao> formacoes = user.getFormacoes();
				formacoes.remove(chave);
				user.setFormacoes(formacoes);
			}else if(categoria.equals("experiencia")){
				String chave = request.getParameter("chave");
				HashMap<String, Experiencia> experiencias = user.getExperiencias();
				experiencias.remove(chave);
				user.setExperiencias(experiencias);
			}else if(categoria.equals("idioma")){
				String chave = request.getParameter("chave");
				HashMap<String, Idioma> idiomas = user.getIdiomas();
				idiomas.remove(chave);
				user.setIdiomas(idiomas);
			}else if(categoria.equals("curso")){
				String chave = request.getParameter("chave");
				HashMap<String, Curso> cursos = user.getCursos();
				cursos.remove(chave);
				user.setCursos(cursos);
			}else if(categoria.equals("ae")){
				String chave = request.getParameter("chave");
				HashMap<String, AtividadeExtra> aes = user.getAtividadesExtras();
				aes.remove(chave);
				user.setAtividadesExtras(aes);
			}else if(categoria.equals("producao")){
				String chave = request.getParameter("chave");
				HashMap<String, Producao> producoes = user.getProducoes();
				producoes.remove(chave);
				user.setProducoes(producoes);
			}
			
			listaUser.put(user.getEmail(), user);
			listaObj.setListaUsuarios(listaUser);
			session.setAttribute("listaObj", listaObj);
				
			try {
				FileOutputStream file = new FileOutputStream("usuarios.obj");
				ObjectOutputStream oos = new ObjectOutputStream(file);
				oos.writeObject(listaObj);
				oos.close();
			} catch (Exception e) {
			}
			
			url = "home.jsp";
            RequestDispatcher dispatcher = request.getRequestDispatcher(url);
            dispatcher.forward(request, response);
            
        }catch(Exception e){
            e.printStackTrace();
		}
    }
}
